219 research outputs found

    Reversible Computation in Term Rewriting

    Full text link
    Essentially, in a reversible programming language, for each forward computation from state SS to state S′S', there exists a constructive method to go backwards from state S′S' to state SS. Besides its theoretical interest, reversible computation is a fundamental concept which is relevant in many different areas like cellular automata, bidirectional program transformation, or quantum computing, to name a few. In this work, we focus on term rewriting, a computation model that underlies most rule-based programming languages. In general, term rewriting is not reversible, even for injective functions; namely, given a rewrite step t1→t2t_1 \rightarrow t_2, we do not always have a decidable method to get t1t_1 from t2t_2. Here, we introduce a conservative extension of term rewriting that becomes reversible. Furthermore, we also define two transformations, injectivization and inversion, to make a rewrite system reversible using standard term rewriting. We illustrate the usefulness of our transformations in the context of bidirectional program transformation.Comment: To appear in the Journal of Logical and Algebraic Methods in Programmin

    Formal Methods for Constraint-Based Testing and Reversible Debugging in Erlang

    Full text link
    Tesis por compendio[ES] Erlang es un lenguaje de programación funcional con concurrencia mediante paso de mensajes basado en el modelo de actores. Éstas y otras características lo hacen especialmente adecuado para aplicaciones distribuidas en tiempo real acrítico. En los últimos años, la popularidad de Erlang ha aumentado debido a la demanda de servicios concurrentes. No obstante, desarrollar sistemas Erlang libres de errores es un reto considerable. A pesar de que Erlang evita muchos problemas por diseño (por ejemplo, puntos muertos), algunos otros problemas pueden aparecer. En este contexto, las técnicas de testing y depuración basadas en métodos formales pueden ser útiles para detectar, localizar y arreglar errores de programación en Erlang. En esta tesis proponemos varios métodos para testing y depuración en Erlang. En particular, estos métodos están basados en modelos semánticos para concolic testing, pruebas basadas en propiedades, depuración reversible con consistencia causal y repetición reversible con consistencia causal de programas Erlang. Además, probamos formalmente las principales propiedades de nuestras propuestas y diseñamos herramientas de código abierto que implementan estos métodos.[CA] Erlang és un llenguatge de programació funcional amb concurrència mitjançant pas de missatges basat en el model d'actors. Estes i altres característiques el fan especialment adequat per a aplicacions distribuïdes en temps real acrític. En els últims anys, la popularitat d'Erlang ha augmentat degut a la demanda de servicis concurrents. No obstant, desenvolupar sistemes Erlang lliures d'errors és un repte considerable. Encara que Erlang evita molts problemes per disseny (per exemple, punts morts), alguns altres problemes poden aparéixer. En este context, les tècniques de testing y depuració basades en mètodes formals poden ser útils per a detectar, localitzar y arreglar errors de programació en Erlang. En esta tesis proposem diversos mètodes per a testing i depuració en Erlang. En particular, estos mètodes estan basats en models semàntics per a concolic testing, testing basat en propietats, depuració reversible amb consistència causal i repetició reversible amb consistència causal de programes Erlang. A més, provem formalment les principals propietats de les nostres propostes i dissenyem ferramentes de codi obert que implementen estos mètodes.[EN] Erlang is a message-passing concurrent, functional programming language based on the actor model. These and other features make it especially appropriate for distributed, soft real-time applications. In the recent years, Erlang's popularity has increased due to the demand for concurrent services. However, developing error-free systems in Erlang is quite a challenge. Although Erlang avoids many problems by design (e.g., deadlocks), some other problems may appear. Here, testing and debugging techniques based on formal methods may be helpful to detect, locate and fix programming errors in Erlang. In this thesis we propose several methods for testing and debugging in Erlang. In particular, these methods are based on semantics models for concolic testing, property-based testing, causal-consistent reversible debugging and causal-consistent replay debugging of Erlang programs. We formally prove the main properties of our proposals and design open-source tools that implement these methods.Palacios Corella, A. (2020). Formal Methods for Constraint-Based Testing and Reversible Debugging in Erlang [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/139076TESISCompendi

    Implementación de un módulo para el entrenamiento y evaluación de redes neuronales mediante GPUs

    Full text link
    El objetivo de este trabajo ha sido la mejora de la implementación de un toolkit de entrenamiento y evaluación de redes neuronales ya existente, incluyendo una versión en lenguaje CUDA para ser ejecutada en GPUs. El toolkit de partida utilizado en este proyecto se denomina "April" (acrónimo de "A Pattern Recognizer In Lua") y ha sido desarrollado con los lenguajes C++ y Lua por los directores de este proyecto final de carrera y permite entrenar redes neuronales artificiales de tipo feedforward utilizando el algoritmo de retropropagación del gradiente. El uso de bibliotecas de cálculo matricial, como la biblioteca MKL de Intel, junto al uso del modo de entrenamiento conocido como "bunch" permite acelerar de manera sustancial las etapas de evaluación y entrenamiento de estas redes, lo cual resulta casi imprescindible en la práctica cuando los experimentos reales requieren periodos de tiempo que van de varios días a varias semanas de CPU. A pesar de las características del toolkit original, resulta muy convenientePalacios Corella, A. (2012). Implementación de un módulo para el entrenamiento y evaluación de redes neuronales mediante GPUs. http://hdl.handle.net/10251/17385.Archivo delegad

    Adaptación de skip-gramas a modelos conexionistas del lenguaje

    Full text link
    [EN] In this work we will focus on the development of language models using connectionist techniques. The most relevant contribution in this work is the adaptation of skip-grams techniques to neural network language models. The required techniques and models have been implemented in APRIL using the programming languages C++ and Lua. This development will be validated with experiments related to language model evaluation and machine translation tasks[ES] En este trabajo nos centramos en el desarrollo de modelos de lenguaje utilizando técnicas conexionistas. La contribución más relevante de este trabajo es la adaptación de las técnicas de skip-gramas a los modelos de lenguaje basados en redes neuronales. Las técnicas y modelos necesarios para estudiar esta adaptación se han implementado sobre la herramienta APRIL utilizando los lenguajes C++ y Lua. Este desarrollo se valida con experimentos de evaluación de modelos de lenguaje y tareas de traducción automáticaPalacios Corella, A. (2014). Adaptación de skip-gramas a modelos conexionistas del lenguaje. http://hdl.handle.net/10251/53391Archivo delegad

    Gasto educativo en la cuenca minera e industrial vizcaína, 1857-1923

    Get PDF
    Aquest treball explora com la industrialització va poder estar afectant la formació de capital humà. A través de l'anàlisi de la despesa educativa dels ajuntaments minero-industrials de Biscaia entre 1857 i 1923, es pot observar com aquests van respondre positivament al boom minero-industrial des de mitjans de 1880. Encara que a les dècades de 1880 i 1890 la immigració a la conca va fer retrocedir lleument la despesa educativa, les dades mostren que a partir del 1900, aquests ajuntaments van realitzar una inversió important en la formació de capital humà dels seus habitants. Tot i això, l'aproximació a les dades d'alfabetització de la conca mostren que, malgrat la despesa educativa, l'alfabetització no va semblar respondre positivament fins a les primeres dècades del segle XX. Els resultats semblen indicar que les condicions de miners i operaris fabrils van poder estar afectant directament l'escolarització i van minimitzar l'efecte de la despesa educativa local.This paper analyses how industrialization affected human capital formation. Using the educational expenditure in mining-industrial municipalities in Biscay between 1857 and 1923, it can be observed that they positively reacted to the mining-industrial boom from the 1880s onwards. Although during the 1880s and 1890s the migration flow altered the education spending, the data shows that since 1900, education was an important expenditure within these municipalities’ annual accounts. However, the literacy rates of the mining-industrial basin indicate that until the early 20th century, local educational expenditure did not affect human capital formation. The results suggest that the living conditions of miners and industrial workers might be hampered the public educational spending.Este trabajo explora cómo la industrialización pudo estar afectando a la formación de capital humano. A través del análisis del gasto educativo de los ayuntamientos minero-industriales de Vizcaya entre 1857 y 1923, se puede observar como estos respondieron positivamente al boom minero-industrial desde mediados de 1880. Aunque en las décadas de 1880 y 1890 la inmigración a la cuenca hizo retroceder levemente el gasto educativo, los datos muestran que a partir de 1900, estos ayuntamientos realizaron una inversión importante en la formación de capital humano de sus habitantes. Sin embargo, la aproximación a los datos de alfabetización de la cuenca muestran que, pese al gasto educativo, la alfabetización no pareció responder positivamente hasta las primeras décadas del siglo XX. Los resultados parecen indicar que las condiciones de mineros y operarios fabriles pudieron estar afectando directamente a la escolarización, minimizando el efecto del gasto educativo loca

    A theory of reversibility for Erlang

    Get PDF
    [EN] In a reversible language, any forward computation can be undone by a finite sequence of backward steps. Reversible computing has been studied in the context of different programming languages and formalisms, where it has been used for testing and verification, among others. In this paper, we consider a subset of Erlang, a functional and concurrent programming language based on the actor model. We present a formal semantics for reversible computation in this language and prove its main properties, including its causal consistency. We also build on top of it a rollback operator that can be used to undo the actions of a process up to a given checkpoint. (C) 2018 Elsevier Inc. All rights reserved.This work has been partially supported by MINECO/AEI/FEDER (EU) under grants TIN2013-44742-C4-1-R and TIN2016-76843-C4-1-R, by the Generalitat Valenciana under grant PROMETEO-II/2015/013 (SmartLogic), by the COST Action IC1405 on Reversible Computation-extending horizons of computing, and by JSPS KAKENHI Grant Number JP17H01722. Adrian Palacios was partially supported by the EU (FEDER) and the Spanish Ayudas para contratos predoctorales para la formacian de doctores and Ayudas a la movilidad predoctoral para la realtzacion de estancias breves en centros de I+D, MINECO (SEIDI), under FPI grants BES-2014-069749 and EEBB-I-16-11469. Ivan Lanese was partially supported by INdAM as a member of GNCS (Gruppo Nazionale per il Calcolo Scientifico). Part of this research was done while the third and fourth authors were visiting Nagoya and Bologna Universities; they gratefully acknowledge their hospitality. Finally, we thank Salvador Tamarit and the anonymous reviewers for their helpful suggestions and comments.Lanese, I.; Nishida, N.; Palacios, A.; Vidal, G. (2018). A theory of reversibility for Erlang. Journal of Logical and Algebraic Methods in Programming. 100:71-97. https://doi.org/10.1016/j.jlamp.2018.06.004S719710

    Grado de concordancia diagnóstica de los métodos cefalométricos de Madsen-Paniagua y Schwarz para la determinación del perfil facial en pacientes chilenos con dentición mixta

    Get PDF
    Tesis (Cirujano Dentista)El análisis del perfil facial y su relación con los tejidos blandos, las estructuras óseas y el sistema dentario, permite identificar el tipo de crecimiento que el individuo pueda presentar, así como de las discrepancias esqueletales desde un punto de vista clínico, y la necesidad de realizar un tratamiento ortodóntico. Dicho análisis puede realizarse utilizando el método de Madsen-Paniagua o de Schwarz, ambos ampliamente investigados y validados, sin embargo, no existen estudios que justifiquen el uso de uno por sobre el otro

    Colisión de dos órdenes políticos : el estado-territorio vs. la sociedad red

    Get PDF
    Esta es una tesis de análisis reflexivo-teórico, inspirada en una coyuntura en la que estamos inmersos y que al parecer nos va a llevar a una transformación radical, dadas las nuevas formas de comunicarnos y de estar juntos. Como trabajo de Investigación es un análisis acerca de la sociedad red, una descripción de las tensiones mutuas entre el Estado-territorio y la sociedad red en el marco histórico contemporáneo, descripción que contendrá jugadas de uno y otro lado, ataques y contraataques entre dos lógicas que, en principio, son excluyentes.Politólogo (a)Pregrad
    • …
    corecore